package com.shuiyun.jtt.message.jt808;

import com.shuiyun.jtt.anno.Message;
import com.shuiyun.jtt.enums.JT808;
import com.shuiyun.jtt.message.JTMessage;
import com.shuiyun.jtt.utils.codec.DataType;
import com.shuiyun.jtt.utils.codec.FieldValue;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author shuiyun
 * @program gateway
 * @description 摄像头立即拍摄
 * @date 2022-05-08 21:23
 **/
@EqualsAndHashCode(callSuper = true)
@Data
@Message(value = JT808.摄像头立即拍摄命令0x8801)
public class T8801 extends JTMessage {

    @FieldValue(type = DataType.BYTE,desc = "通道ID")
    private Integer channelId;

    @FieldValue(type = DataType.WORD,desc = "拍摄命令 0：停止拍摄; 0xffff:录像 其他：拍摄张数")
    private Integer command;

    @FieldValue(type = DataType.WORD,desc = "拍照间隔/录像时间（s） 0：阿钊最小间隔拍照或者一直录像")
    private Integer time;

    @FieldValue(type = DataType.BYTE,desc = "保存标志 0：实时上传 1：保存")
    private Integer saveTag;

    /**
     * 0x00: 最低分辨率
     * 0x01: 320*240
     * 0x02: 640*480
     * 0x03: 800*600
     * 0x04: 1024*768
     * 0x05: 176*144[Qcif]
     * 0x06: 352*288[Cif]
     * 0x07: 704*288[HALF D1]
     * 0x08: 704*576[D1]
     * 0x09: 最高分辨率
     */
    @FieldValue(type = DataType.BYTE,desc = "分辨率")
    private Integer resolution;

    @FieldValue(type = DataType.BYTE,desc = "图像/视频质量 1-10 1-质量最好 10-压缩比最大")
    private Integer quality;

    @FieldValue(type = DataType.BYTE,desc = "亮度 0~255")
    private Integer brightness;

    @FieldValue(type = DataType.BYTE,desc = "对比度 0~127")
    private Integer contrast;

    @FieldValue(type = DataType.BYTE,desc = "饱和度 0~127")
    private Integer saturation;

    @FieldValue(type = DataType.BYTE,desc = "色彩 0~255")
    private Integer color;

}
